package com.sz.common.pay.pingan.entity.b2b.transfer;

import lombok.Data;

/**
 * Function:  子账户复核支付【1328】 <br>
 *
 * @Author: HeWenBo <br>
 * @Date: 2017/12/19 下午4:50
 * 子账户复核支付【1328】
 * 接口说明：
 * 流程是会员A入金，会员A的子账户金额增加，然后使用该接口将子账户里的可用金额支付给会员B。发送交易后，银行返回受理成功，冻结支付的金额，等待会员复核后，将钱支付到B的银行账户或B的子账户。若是支付到B的子账户，则支付的金额会处于冻结状态，等待市场解冻后，方可使用。
 * 1、申请支付
 * 减少会员子账户的可用金额，变为冻结金额，同时生成一条待确认的支付指令。后续若买方收货后确认，则将已冻结的金额支付给卖方和平台。
 * 支付金额是给卖方的，手续费金额是给平台的，该接口总冻结金额=支付金额+手续费金额。

 * 2、撤销支付
 * 会员可通过平台发起撤销支付指令。已冻结的金额全部解冻退回给会员。
 *
 * 接口字段：
 * 请求包：交易网－> 监管系统
 * 输入项名称	    英文名	        最大长度	输入属性	注释
 * 资金汇总账号	SupAcctId	    C(32)	必输
 * 功能标志	    FuncFlag	    C(1)	必输  	1：申请支付 2：撤销支付
 * 转出子账户	    OutCustAcctId	C(32)	必输
 * 转出会员代码	OutThirdCustId	C(32)	必输
 * 转入子账户	    InCustAcctId	C(32)	必输
 * 转入会员代码	InThirdCustId	C(32)	必输
 * 支付金额	    TranAmount	    9(15)	必输
 * 手续费金额	    HandFee	        9(15)	必输
 * 币种	        CcyCode	        C(3)	必输	    默认：RMB
 * 支付指令号	    PaySerialNo	    C(20)	必输	    根据该字段判断是否指令重复
 * 支付订单号	    ThirdHtId	    C(30)	必输
 * 支付订单内容	ThirdHtCont	    C(500)	可选
 * 备注	        Note	        C(120)	可选
 * 保留域	        Reserve	        C(120)	可选
 */
@Data
public class AccountRecheckPaymentRequest {
    private String TranFunc = "1328";
    private String SupAcctId;
    private String FuncFlag;
    private String OutCustAcctId;
    private String OutThirdCustId;
    private String InCustAcctId;
    private String InThirdCustId;
    private String TranAmount;
    private String HandFee;
    private String CcyCode;
    private String PaySerialNo;
    private String ThirdHtId;
    private String ThirdHtCont;
    private String Note;
    private String Reserve;
}
